# Copyright (c) 2019 Presto Labs Pte. Ltd.
# Author: xguo

from coin.exchange.korbit_v1.rest.subscriber import KorbitSubscriber as KorbitRestSubscriber
from coin.exchange.korbit_v1.ws.subscriber import KorbitSubscriber as KorbitWsSubscriber
from coin.strategy.mm.feed_builder import (
    KorbitRestFlowBookBuilder,
    KorbitWsFlowBookBuilder,
)

from coin.strategy.mm.base.feed import BaseFeedSubsystem
from coin.strategy.mm.subscription import SubscriptionRequest


class KorbitRestFeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Korbit', 'rest')
  FeedSubscriber = KorbitRestSubscriber
  FlowBookBuilder = KorbitRestFlowBookBuilder


class KorbitWsFeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Korbit', None)
  FeedSubscriber = KorbitWsSubscriber
  FlowBookBuilder = KorbitWsFlowBookBuilder
